# 编译器和编译选项  
CXX = g++  
CXXFLAGS = -Wall -std=c++11  
  
# 源文件和目标文件  
SRCS = main.cpp  
OBJS = main.o  
TARGET = my_program  
  
# 默认目标  
all: $(TARGET)  
  
# 链接目标文件生成可执行文件  
$(TARGET): $(OBJS)  
	$(CXX) $(CXXFLAGS) -o $@ $^  
  
# 编译规则  
%.o: %.cpp  
	$(CXX) $(CXXFLAGS) -c $< -o $@  
  
# 清除生成的文件（可选）  
clean:  
	rm -f $(OBJS) $(TARGET)